﻿using System.Collections.Generic;

namespace RecruitmentAgency.Models.DataTypes
{
    /// <summary>
    /// The RecruitmentAgency.Models.DataTypes.CvSearchData contains all the relevant details for the search parameters and results
    /// </summary>
    public class CvSearchData
    {
        /// <summary>
        /// Initialises a new RecruitmentAgency.Models.DataTypes.CvSearchData instance
        /// </summary>
        public CvSearchData()
        {
            Results = new List<SearchResult>();
        }

        /// <summary>
        /// Gets or sets the list of SearchResult instances
        /// </summary>
        public List<SearchResult> Results { get; set; }

        /// <summary>
        /// Gets or sets the size of the result pages
        /// </summary>
        public int PageSize { get; set; }

        /// <summary>
        /// Gets or sets the current result page number 
        /// </summary>
        public int PageNumber { get; set; }

        /// <summary>
        /// Gets or sets the total number of results
        /// </summary>
        public int TotalResultCount { get; set; }

        /// <summary>
        /// Gets or sets the name of the skill to search for
        /// </summary>
        public string SkillName { get; set; }

        /// <summary>
        /// Gets or sets the name of the person to search for
        /// </summary>
        public string PersonName { get; set; }

        /// <summary>
        /// Gets or sets the type of the qualification to search for
        /// </summary>
        public string QualificationType { get; set; }

        /// <summary>
        /// Gets or sets the subject of the qualification to search for
        /// </summary>
        public string QualificationSubject { get; set; }

        /// <summary>
        /// Gets or sets the job sector preference of the users to search for
        /// </summary>
        public string JobSectorPreference { get; set; }

        /// <summary>
        /// Gets or sets the minimum number of GCSEs, CSEs and O-Levels of the users to search for
        /// </summary>
        public string MinimumNumberOfGcse { get; set; }

        /// <summary>
        /// Gets or sets the minimum number of A-Levels of the users to search for
        /// </summary>
        public string MinimumNumberOfALevel { get; set; }
    }
}